home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_emacs.idb / usr / freeware / info / gnus-1.z / gnus-1
Encoding:
GNU Info File  |  1998-10-28  |  49.5 KB  |  1,311 lines

  1. This is Info file ../info/gnus, produced by Makeinfo-1.63 from the
  2. input file gnus.texi.
  3.  
  4.    This file documents Gnus, the GNU Emacs newsreader.
  5.  
  6.    Copyright (C) 1995,96 Free Software Foundation, Inc.
  7.  
  8.    Permission is granted to make and distribute verbatim copies of this
  9. manual provided the copyright notice and this permission notice are
  10. preserved on all copies.
  11.  
  12.    Permission is granted to copy and distribute modified versions of
  13. this manual under the conditions for verbatim copying, provided also
  14. that the entire resulting derived work is distributed under the terms
  15. of a permission notice identical to this one.
  16.  
  17.    Permission is granted to copy and distribute translations of this
  18. manual into another language, under the above conditions for modified
  19. versions.
  20.  
  21. 
  22. File: gnus,  Node: Top,  Next: Starting Up,  Up: (dir)
  23.  
  24. The Gnus Newsreader
  25. *******************
  26.  
  27.    You can read news (and mail) from within Emacs by using Gnus.  The
  28. news can be gotten by any nefarious means you can think of--NNTP, local
  29. spool or your mbox file.  All at the same time, if you want to push your
  30. luck.
  31.  
  32. * Menu:
  33.  
  34. * Starting Up::           Finding news can be a pain.
  35. * The Group Buffer::      Selecting, subscribing and killing groups.
  36. * The Summary Buffer::    Reading, saving and posting articles.
  37. * The Article Buffer::    Displaying and handling articles.
  38. * Composing Messages::    Information on sending mail and news.
  39. * Select Methods::        Gnus reads all messages from various select methods.
  40. * Scoring::               Assigning values to articles.
  41. * Various::               General purpose settings.
  42. * The End::               Farewell and goodbye.
  43. * Appendices::            Terminology, Emacs intro, FAQ, History, Internals.
  44. * Index::                 Variable, function and concept index.
  45. * Key Index::             Key Index.
  46.  
  47. 
  48. File: gnus,  Node: Starting Up,  Next: The Group Buffer,  Prev: Top,  Up: Top
  49.  
  50. Starting Gnus
  51. *************
  52.  
  53.    If your system administrator has set things up properly, starting
  54. Gnus and reading news is extremely easy--you just type `M-x gnus' in
  55. your Emacs.
  56.  
  57.    If you want to start Gnus in a different frame, you can use the
  58. command `M-x gnus-other-frame' instead.
  59.  
  60.    If things do not go smoothly at startup, you have to twiddle some
  61. variables.
  62.  
  63. * Menu:
  64.  
  65. * Finding the News::    Choosing a method for getting news.
  66. * The First Time::      What does Gnus do the first time you start it?
  67. * The Server is Down::  How can I read my mail then?
  68. * Slave Gnusii::        You can have more than one Gnus active at a time.
  69. * Fetching a Group::    Starting Gnus just to read a group.
  70. * New Groups::          What is Gnus supposed to do with new groups?
  71. * Startup Files::       Those pesky startup files--`.newsrc'.
  72. * Auto Save::           Recovering from a crash.
  73. * The Active File::     Reading the active file over a slow line Takes Time.
  74. * Startup Variables::   Other variables you might change.
  75.  
  76. 
  77. File: gnus,  Node: Finding the News,  Next: The First Time,  Up: Starting Up
  78.  
  79. Finding the News
  80. ================
  81.  
  82.    The `gnus-select-method' variable says where Gnus should look for
  83. news.  This variable should be a list where the first element says
  84. "how" and the second element says "where".  This method is your native
  85. method.  All groups that are not fetched with this method are foreign
  86. groups.
  87.  
  88.    For instance, if the `news.somewhere.edu' NNTP server is where you
  89. want to get your daily dosage of news from, you'd say:
  90.  
  91.      (setq gnus-select-method '(nntp "news.somewhere.edu"))
  92.  
  93.    If you want to read directly from the local spool, say:
  94.  
  95.      (setq gnus-select-method '(nnspool ""))
  96.  
  97.    If you can use a local spool, you probably should, as it will almost
  98. certainly be much faster.
  99.  
  100.    If this variable is not set, Gnus will take a look at the
  101. `NNTPSERVER' environment variable.  If that variable isn't set, Gnus
  102. will see whether `gnus-nntpserver-file' (`/etc/nntpserver' by default)
  103. has any opinions on the matter.  If that fails as well, Gnus will will
  104. try to use the machine that is running Emacs as an NNTP server.  That's
  105. a long-shot, though.
  106.  
  107.    If `gnus-nntp-server' is set, this variable will override
  108. `gnus-select-method'.  You should therefore set `gnus-nntp-server' to
  109. `nil', which is what it is by default.
  110.  
  111.    You can also make Gnus prompt you interactively for the name of an
  112. NNTP server.  If you give a non-numerical prefix to `gnus' (i.e., `C-u
  113. M-x gnus'), Gnus will let you choose between the servers in the
  114. `gnus-secondary-servers' list (if any).  You can also just type in the
  115. name of any server you feel like visiting.
  116.  
  117.    However, if you use one NNTP server regularly and are just
  118. interested in a couple of groups from a different server, you would be
  119. better served by using the `B' command in the group buffer.  It will
  120. let you have a look at what groups are available, and you can subscribe
  121. to any of the groups you want to.  This also makes `.newsrc'
  122. maintenance much tidier.  *Note Foreign Groups::.
  123.  
  124.    A slightly different approach to foreign groups is to set the
  125. `gnus-secondary-select-methods' variable.  The select methods listed in
  126. this variable are in many ways just as native as the
  127. `gnus-select-method' server.  They will also be queried for active
  128. files during startup (if that's required), and new newsgroups that
  129. appear on these servers will be subscribed (or not) just as native
  130. groups are.
  131.  
  132.    For instance, if you use the `nnmbox' backend to read your mail, you
  133. would typically set this variable to
  134.  
  135.      (setq gnus-secondary-select-methods '((nnmbox "")))
  136.  
  137. 
  138. File: gnus,  Node: The First Time,  Next: The Server is Down,  Prev: Finding the News,  Up: Starting Up
  139.  
  140. The First Time
  141. ==============
  142.  
  143.    If no startup files exist, Gnus will try to determine what groups
  144. should be subscribed by default.
  145.  
  146.    If the variable `gnus-default-subscribed-newsgroups' is set, Gnus
  147. will subscribe you to just those groups in that list, leaving the rest
  148. killed.  Your system administrator should have set this variable to
  149. something useful.
  150.  
  151.    Since she hasn't, Gnus will just subscribe you to a few arbitrarily
  152. picked groups (i.e., `*.newusers').  ("Arbitrary" is here defined as
  153. "whatever Lars thinks you should read".)
  154.  
  155.    You'll also be subscribed to the Gnus documentation group, which
  156. should help you with most common problems.
  157.  
  158.    If `gnus-default-subscribed-newsgroups' is `t', Gnus will just use
  159. the normal functions for handling new groups, and not do anything
  160. special.
  161.  
  162. 
  163. File: gnus,  Node: The Server is Down,  Next: Slave Gnusii,  Prev: The First Time,  Up: Starting Up
  164.  
  165. The Server is Down
  166. ==================
  167.  
  168.    If the default server is down, Gnus will understandably have some
  169. problems starting.  However, if you have some mail groups in addition to
  170. the news groups, you may want to start Gnus anyway.
  171.  
  172.    Gnus, being the trusting sort of program, will ask whether to proceed
  173. without a native select method if that server can't be contacted.  This
  174. will happen whether the server doesn't actually exist (i.e., you have
  175. given the wrong address) or the server has just momentarily taken ill
  176. for some reason or other.  If you decide to continue and have no foreign
  177. groups, you'll find it difficult to actually do anything in the group
  178. buffer.  But, hey, that's your problem.  Blllrph!
  179.  
  180.    If you know that the server is definitely down, or you just want to
  181. read your mail without bothering with the server at all, you can use the
  182. `gnus-no-server' command to start Gnus.  That might come in handy if
  183. you're in a hurry as well.
  184.  
  185. 
  186. File: gnus,  Node: Slave Gnusii,  Next: Fetching a Group,  Prev: The Server is Down,  Up: Starting Up
  187.  
  188. Slave Gnusi∩
  189. ============
  190.  
  191.    You might want to run more than one Emacs with more than one Gnus at
  192. the same time.  If you are using different `.newsrc' files (eg., if you
  193. are using the two different Gnusi∩ to read from two different servers),
  194. that is no problem whatsoever.  You just do it.
  195.  
  196.    The problem appears when you want to run two Gnusi∩ that use the
  197. same `.newsrc' file.
  198.  
  199.    To work around that problem some, we here at the Think-Tank at the
  200. Gnus Towers have come up with a new concept: "Masters" and "servants".
  201. (We have applied for a patent on this concept, and have taken out a
  202. copyright on those words.  If you wish to use those words in
  203. conjunction with each other, you have to send $1 per usage instance to
  204. me.  Usage of the patent ("Master/Slave Relationships In Computer
  205. Applications") will be much more expensive, of course.)
  206.  
  207.    Anyways, you start one Gnus up the normal way with `M-x gnus' (or
  208. however you do it).  Each subsequent slave Gnusi∩ should be started
  209. with `M-x gnus-slave'.  These slaves won't save normal `.newsrc' files,
  210. but instead save "slave files" that contains information only on what
  211. groups have been read in the slave session.  When a master Gnus starts,
  212. it will read (and delete) these slave files, incorporating all
  213. information from them.  (The slave files will be read in the sequence
  214. they were created, so the latest changes will have precedence.)
  215.  
  216.    Information from the slave files has, of course, precedence over the
  217. information in the normal (i. e., master) `.newsrc' file.
  218.  
  219. 
  220. File: gnus,  Node: Fetching a Group,  Next: New Groups,  Prev: Slave Gnusii,  Up: Starting Up
  221.  
  222. Fetching a Group
  223. ================
  224.  
  225.    It it sometime convenient to be able to just say "I want to read this
  226. group and I don't care whether Gnus has been started or not".  This is
  227. perhaps more useful for people who write code than for users, but the
  228. command `gnus-fetch-group' provides this functionality in any case.  It
  229. takes the group name as a parameter.
  230.  
  231. 
  232. File: gnus,  Node: New Groups,  Next: Startup Files,  Prev: Fetching a Group,  Up: Starting Up
  233.  
  234. New Groups
  235. ==========
  236.  
  237.    What Gnus does when it encounters a new group is determined by the
  238. `gnus-subscribe-newsgroup-method' variable.
  239.  
  240.    This variable should contain a function.  Some handy pre-fab values
  241. are:
  242.  
  243. `gnus-subscribe-zombies'
  244.      Make all new groups zombies.  You can browse the zombies later
  245.      (with `A z') and either kill them all off properly, or subscribe
  246.      to them.  This is the default.
  247.  
  248. `gnus-subscribe-randomly'
  249.      Subscribe all new groups randomly.
  250.  
  251. `gnus-subscribe-alphabetically'
  252.      Subscribe all new groups alphabetically.
  253.  
  254. `gnus-subscribe-hierarchically'
  255.      Subscribe all new groups hierarchically.
  256.  
  257. `gnus-subscribe-interactively'
  258.      Subscribe new groups interactively.  This means that Gnus will ask
  259.      you about *all* new groups.
  260.  
  261. `gnus-subscribe-killed'
  262.      Kill all new groups.
  263.  
  264.    A closely related variable is
  265. `gnus-subscribe-hierarchical-interactive'.  (That's quite a mouthful.)
  266. If this variable is non-`nil', Gnus will ask you in a hierarchical
  267. fashion whether to subscribe to new groups or not.  Gnus will ask you
  268. for each sub-hierarchy whether you want to descend the hierarchy or not.
  269.  
  270.    One common mistake is to set the variable a few paragraphs above to
  271. `gnus-subscribe-hierarchical-interactive'.  This is an error.  This
  272. will not work.  This is ga-ga.  So don't do it.
  273.  
  274.    A nice and portable way to control which new newsgroups should be
  275. subscribed (or ignored) is to put an "options" line at the start of the
  276. `.newsrc' file.  Here's an example:
  277.  
  278.      options -n !alt.all !rec.all sci.all
  279.  
  280.    This line obviously belongs to a serious-minded intellectual
  281. scientific person (or she may just be plain old boring), because it
  282. says that all groups that have names beginning with `alt' and `rec'
  283. should be ignored, and all groups with names beginning with `sci' should
  284. be subscribed.  Gnus will not use the normal subscription method for
  285. subscribing these groups.  `gnus-subscribe-options-newsgroup-method' is
  286. used instead.  This variable defaults to
  287. `gnus-subscribe-alphabetically'.
  288.  
  289.    If you don't want to mess with your `.newsrc' file, you can just set
  290. the two variables `gnus-options-subscribe' and
  291. `gnus-options-not-subscribe'.  These two variables do exactly the same
  292. as the `.newsrc' `options -n' trick.  Both are regexps, and if the the
  293. new group matches the former, it will be unconditionally subscribed,
  294. and if it matches the latter, it will be ignored.
  295.  
  296.    Yet another variable that meddles here is
  297. `gnus-auto-subscribed-groups'.  It works exactly like
  298. `gnus-options-subscribe', and is therefore really superfluous, but I
  299. thought it would be nice to have two of these.  This variable is more
  300. meant for setting some ground rules, while the other variable is used
  301. more for user fiddling.  By default this variable makes all new groups
  302. that come from mail backends (`nnml', `nnbabyl', `nnfolder', `nnmbox',
  303. and `nnmh') subscribed.  If you don't like that, just set this variable
  304. to `nil'.
  305.  
  306.    If you are satisfied that you really never want to see any new
  307. groups, you could set `gnus-check-new-newsgroups' to `nil'.  This will
  308. also save you some time at startup.  Even if this variable is `nil',
  309. you can always subscribe to the new groups just by pressing `U' in the
  310. group buffer (*note Group Maintenance::.).  This variable is `t' by
  311. default.
  312.  
  313.    Gnus normally determines whether a group is new or not by comparing
  314. the list of groups from the active file(s) with the lists of subscribed
  315. and dead groups.  This isn't a particularly fast method.  If
  316. `gnus-check-new-newsgroups' is `ask-server', Gnus will ask the server
  317. for new groups since the last time.  This is both faster & cheaper.
  318. This also means that you can get rid of the list of killed groups
  319. altogether, so you may set `gnus-save-killed-list' to `nil', which will
  320. save time both at startup, at exit, and all over.  Saves disk space,
  321. too.  Why isn't this the default, then?  Unfortunately, not all servers
  322. support this command.
  323.  
  324.    I bet I know what you're thinking now: How do I find out whether my
  325. server supports `ask-server'?  No?  Good, because I don't have a
  326. fail-safe answer.  I would suggest just setting this variable to
  327. `ask-server' and see whether any new groups appear within the next few
  328. days.  If any do, then it works.  If any don't, then it doesn't work.
  329. I could write a function to make Gnus guess whether the server supports
  330. `ask-server', but it would just be a guess.  So I won't.  You could
  331. `telnet' to the server and say `HELP' and see whether it lists
  332. `NEWGROUPS' among the commands it understands.  If it does, then it
  333. might work.  (But there are servers that lists `NEWGROUPS' without
  334. supporting the function properly.)
  335.  
  336.    This variable can also be a list of select methods.  If so, Gnus will
  337. issue an `ask-server' command to each of the select methods, and
  338. subscribe them (or not) using the normal methods.  This might be handy
  339. if you are monitoring a few servers for new groups.  A side effect is
  340. that startup will take much longer, so you can meditate while waiting.
  341. Use the mantra "dingnusdingnusdingnus" to achieve permanent bliss.
  342.  
  343. 
  344. File: gnus,  Node: Startup Files,  Next: Auto Save,  Prev: New Groups,  Up: Starting Up
  345.  
  346. Startup Files
  347. =============
  348.  
  349.    Now, you all know about the `.newsrc' file.  All subscription
  350. information is traditionally stored in this file.
  351.  
  352.    Things got a bit more complicated with GNUS.  In addition to keeping
  353. the `.newsrc' file updated, it also used a file called `.newsrc.el' for
  354. storing all the information that didn't fit into the `.newsrc' file.
  355. (Actually, it also duplicated everything in the `.newsrc' file.)  GNUS
  356. would read whichever one of these files was the most recently saved,
  357. which enabled people to swap between GNUS and other newsreaders.
  358.  
  359.    That was kinda silly, so Gnus went one better: In addition to the
  360. `.newsrc' and `.newsrc.el' files, Gnus also has a file called
  361. `.newsrc.eld'.  It will read whichever of these files that are most
  362. recent, but it will never write a `.newsrc.el' file.
  363.  
  364.    You can turn off writing the `.newsrc' file by setting
  365. `gnus-save-newsrc-file' to `nil', which means you can delete the file
  366. and save some space, as well as making exit from Gnus faster.  However,
  367. this will make it impossible to use other newsreaders than Gnus.  But
  368. hey, who would want to, right?
  369.  
  370.    If `gnus-save-killed-list' (default `t') is `nil', Gnus will not
  371. save the list of killed groups to the startup file.  This will save
  372. both time (when starting and quitting) and space (on disk).  It will
  373. also means that Gnus has no record of what groups are new or old, so
  374. the automatic new groups subscription methods become meaningless.  You
  375. should always set `gnus-check-new-newsgroups' to `nil' or `ask-server'
  376. if you set this variable to `nil' (*note New Groups::.).
  377.  
  378.    The `gnus-startup-file' variable says where the startup files are.
  379. The default value is `~/.newsrc', with the Gnus (El Dingo) startup file
  380. being whatever that one is with a `.eld' appended.
  381.  
  382.    `gnus-save-newsrc-hook' is called before saving any of the newsrc
  383. files, while `gnus-save-quick-newsrc-hook' is called just before saving
  384. the `.newsrc.eld' file, and `gnus-save-standard-newsrc-hook' is called
  385. just before saving the `.newsrc' file.  The latter two are commonly
  386. used to turn version control on or off.  Version control is off by
  387. default when saving the startup files.
  388.  
  389. 
  390. File: gnus,  Node: Auto Save,  Next: The Active File,  Prev: Startup Files,  Up: Starting Up
  391.  
  392. Auto Save
  393. =========
  394.  
  395.    Whenever you do something that changes the Gnus data (reading
  396. articles, catching up, killing/subscribing groups), the change is added
  397. to a special "dribble buffer".  This buffer is auto-saved the normal
  398. Emacs way.  If your Emacs should crash before you have saved the
  399. `.newsrc' files, all changes you have made can be recovered from this
  400. file.
  401.  
  402.    If Gnus detects this file at startup, it will ask the user whether to
  403. read it.  The auto save file is deleted whenever the real startup file
  404. is saved.
  405.  
  406.    If `gnus-use-dribble-file' is `nil', Gnus won't create and maintain
  407. a dribble buffer.  The default is `t'.
  408.  
  409.    Gnus will put the dribble file(s) in `gnus-dribble-directory'.  If
  410. this variable is `nil', which it is by default, Gnus will dribble into
  411. the directory where the `.newsrc' file is located.  (This is normally
  412. the user's home directory.)  The dribble file will get the same file
  413. permissions as the `.newsrc' file.
  414.  
  415. 
  416. File: gnus,  Node: The Active File,  Next: Startup Variables,  Prev: Auto Save,  Up: Starting Up
  417.  
  418. The Active File
  419. ===============
  420.  
  421.    When Gnus starts, or indeed whenever it tries to determine whether
  422. new articles have arrived, it reads the active file.  This is a very
  423. large file that lists all the active groups and articles on the server.
  424.  
  425.    Before examining the active file, Gnus deletes all lines that match
  426. the regexp `gnus-ignored-newsgroups'.  This is done primarily to reject
  427. any groups with bogus names, but you can use this variable to make Gnus
  428. ignore hierarchies you aren't ever interested in.  However, this is not
  429. recommended.  In fact, it's highly discouraged.  Instead, *note New
  430. Groups::. for an overview of other variables that can be used instead.
  431.  
  432.    The active file can be rather Huge, so if you have a slow network,
  433. you can set `gnus-read-active-file' to `nil' to prevent Gnus from
  434. reading the active file.  This variable is `t' by default.
  435.  
  436.    Gnus will try to make do by getting information just on the groups
  437. that you actually subscribe to.
  438.  
  439.    Note that if you subscribe to lots and lots of groups, setting this
  440. variable to `nil' will probably make Gnus slower, not faster.  At
  441. present, having this variable `nil' will slow Gnus down considerably,
  442. unless you read news over a 2400 baud modem.
  443.  
  444.    This variable can also have the value `some'.  Gnus will then
  445. attempt to read active info only on the subscribed groups.  On some
  446. servers this is quite fast (on sparkling, brand new INN servers that
  447. support the `LIST ACTIVE group' command), on others this isn't fast at
  448. all.  In any case, `some' should be faster than `nil', and is certainly
  449. faster than `t' over slow lines.
  450.  
  451.    If this variable is `nil', Gnus will ask for group info in total
  452. lock-step, which isn't very fast.  If it is `some' and you use an NNTP
  453. server, Gnus will pump out commands as fast as it can, and read all the
  454. replies in one swoop.  This will normally result in better performance,
  455. but if the server does not support the aforementioned `LIST ACTIVE
  456. group' command, this isn't very nice to the server.
  457.  
  458.    In any case, if you use `some' or `nil', you should definitely kill
  459. all groups that you aren't interested in to speed things up.
  460.  
  461. 
  462. File: gnus,  Node: Startup Variables,  Prev: The Active File,  Up: Starting Up
  463.  
  464. Startup Variables
  465. =================
  466.  
  467. `gnus-load-hook'
  468.      A hook that is run while Gnus is being loaded.  Note that this
  469.      hook will normally be run just once in each Emacs session, no
  470.      matter how many times you start Gnus.
  471.  
  472. `gnus-startup-hook'
  473.      A hook that is run after starting up Gnus successfully.
  474.  
  475. `gnus-check-bogus-newsgroups'
  476.      If non-`nil', Gnus will check for and delete all bogus groups at
  477.      startup.  A "bogus group" is a group that you have in your
  478.      `.newsrc' file, but doesn't exist on the news server.  Checking for
  479.      bogus groups can take quite a while, so to save time and resources
  480.      it's best to leave this option off, and do the checking for bogus
  481.      groups once in a while from the group buffer instead (*note Group
  482.      Maintenance::.).
  483.  
  484. `gnus-inhibit-startup-message'
  485.      If non-`nil', the startup message won't be displayed.  That way,
  486.      your boss might not notice that you are reading news instead of
  487.      doing your job as easily.
  488.  
  489. `gnus-no-groups-message'
  490.      Message displayed by Gnus when no groups are available.
  491.  
  492. 
  493. File: gnus,  Node: The Group Buffer,  Next: The Summary Buffer,  Prev: Starting Up,  Up: Top
  494.  
  495. The Group Buffer
  496. ****************
  497.  
  498.    The "group buffer" lists all (or parts) of the available groups.  It
  499. is the first buffer shown when Gnus starts, and will never be killed as
  500. long as Gnus is active.
  501.  
  502. * Menu:
  503.  
  504. * Group Buffer Format::    Information listed and how you can change it.
  505. * Group Maneuvering::      Commands for moving in the group buffer.
  506. * Selecting a Group::      Actually reading news.
  507. * Subscription Commands::  Unsubscribing, killing, subscribing.
  508. * Group Levels::           Levels? What are those, then?
  509. * Group Score::            A mechanism for finding out what groups you like.
  510. * Marking Groups::         You can mark groups for later processing.
  511. * Foreign Groups::         Creating and editing groups.
  512. * Group Parameters::       Each group may have different parameters set.
  513. * Listing Groups::         Gnus can list various subsets of the groups.
  514. * Sorting Groups::         Re-arrange the group order.
  515. * Group Maintenance::      Maintaining a tidy `.newsrc' file.
  516. * Browse Foreign Server::  You can browse a server.  See what it has to offer.
  517. * Exiting Gnus::           Stop reading news and get some work done.
  518. * Group Topics::           A folding group mode divided into topics.
  519. * Misc Group Stuff::       Other stuff that you can to do.
  520.  
  521. 
  522. File: gnus,  Node: Group Buffer Format,  Next: Group Maneuvering,  Up: The Group Buffer
  523.  
  524. Group Buffer Format
  525. ===================
  526.  
  527. * Menu:
  528.  
  529. * Group Line Specification::       Deciding how the group buffer is to look.
  530. * Group Modeline Specification::   The group buffer modeline.
  531. * Group Highlighting::             Having nice colors in the group buffer.
  532.  
  533. 
  534. File: gnus,  Node: Group Line Specification,  Next: Group Modeline Specification,  Up: Group Buffer Format
  535.  
  536. Group Line Specification
  537. ------------------------
  538.  
  539.    The default format of the group buffer is nice and dull, but you can
  540. make it as exciting and ugly as you feel like.
  541.  
  542.    Here's a couple of example group lines:
  543.  
  544.           25: news.announce.newusers
  545.       *    0: alt.fan.andrea-dworkin
  546.  
  547.    Quite simple, huh?
  548.  
  549.    You can see that there are 25 unread articles in
  550. `news.announce.newusers'.  There are no unread articles, but some
  551. ticked articles, in `alt.fan.andrea-dworkin' (see that little asterisk
  552. at the beginning of the line?)
  553.  
  554.    You can change that format to whatever you want by fiddling with the
  555. `gnus-group-line-format' variable.  This variable works along the lines
  556. of a `format' specification, which is pretty much the same as a
  557. `printf' specifications, for those of you who use (feh!) C.  *Note
  558. Formatting Variables::.
  559.  
  560.    The default value that produced those lines above is `%M%S%5y:
  561. %(%g%)\n'.
  562.  
  563.    There should always be a colon on the line; the cursor always moves
  564. to the colon after performing an operation.  Nothing else is
  565. required--not even the group name.  All displayed text is just window
  566. dressing, and is never examined by Gnus.  Gnus stores all real
  567. information it needs using text properties.
  568.  
  569.    (Note that if you make a really strange, wonderful, spreadsheet-like
  570. layout, everybody will believe you are hard at work with the accounting
  571. instead of wasting time reading news.)
  572.  
  573.    Here's a list of all available format characters:
  574.  
  575. `M'
  576.      Only marked articles.
  577.  
  578. `S'
  579.      Whether the group is subscribed.
  580.  
  581. `L'
  582.      Level of subscribedness.
  583.  
  584. `N'
  585.      Number of unread articles.
  586.  
  587. `I'
  588.      Number of dormant articles.
  589.  
  590. `T'
  591.      Number of ticked articles.
  592.  
  593. `R'
  594.      Number of read articles.
  595.  
  596. `t'
  597.      Total number of articles.
  598.  
  599. `y'
  600.      Number of unread, unticked, non-dormant articles.
  601.  
  602. `i'
  603.      Number of ticked and dormant articles.
  604.  
  605. `g'
  606.      Full group name.
  607.  
  608. `G'
  609.      Group name.
  610.  
  611. `D'
  612.      Newsgroup description.
  613.  
  614. `o'
  615.      `m' if moderated.
  616.  
  617. `O'
  618.      `(m)' if moderated.
  619.  
  620. `s'
  621.      Select method.
  622.  
  623. `n'
  624.      Select from where.
  625.  
  626. `z'
  627.      A string that looks like `<%s:%n>' if a foreign select method is
  628.      used.
  629.  
  630. `P'
  631.      Indentation based on the level of the topic (*note Group
  632.      Topics::.).
  633.  
  634. `c'
  635.      Short (collapsed) group name.  The `gnus-group-uncollapsed-levels'
  636.      variable says how many levels to leave at the end of the group
  637.      name.  The default is `1'.
  638.  
  639. `u'
  640.      User defined specifier.  The next character in the format string
  641.      should be a letter.  GNUS will call the function
  642.      `gnus-user-format-function-'`X', where `X' is the letter following
  643.      `%u'.  The function will be passed the current headers as
  644.      argument.  The function should return a string, which will be
  645.      inserted into the buffer just like information from any other
  646.      specifier.
  647.  
  648.    All the "number-of" specs will be filled with an asterisk (`*') if
  649. no info is available--for instance, if it is a non-activated foreign
  650. group, or a bogus (or semi-bogus) native group.
  651.  
  652. 
  653. File: gnus,  Node: Group Modeline Specification,  Next: Group Highlighting,  Prev: Group Line Specification,  Up: Group Buffer Format
  654.  
  655. Group Modeline Specification
  656. ----------------------------
  657.  
  658.    The mode line can be changed by setting
  659. (`gnus-group-mode-line-format').  It doesn't understand that many
  660. format specifiers:
  661.  
  662. `S'
  663.      The native news server.
  664.  
  665. `M'
  666.      The native select method.
  667.  
  668. 
  669. File: gnus,  Node: Group Highlighting,  Prev: Group Modeline Specification,  Up: Group Buffer Format
  670.  
  671. Group Highlighting
  672. ------------------
  673.  
  674.    Highlighting in the group buffer is controlled by the
  675. `gnus-group-highlight' variable.  This is an alist with elements that
  676. look like (FORM . FACE).  If FORM evaluates to something non-`nil', the
  677. FACE will be used on the line.
  678.  
  679.    Here's an example value for this variable that might look nice if the
  680. background is dark:
  681.  
  682.      (setq gnus-group-highlight
  683.          `(((> unread 200) .
  684.             ,(custom-face-lookup "Red" nil nil t nil nil))
  685.            ((and (< level 3) (zerop unread)) .
  686.             ,(custom-face-lookup "SeaGreen" nil nil t nil nil))
  687.            ((< level 3) .
  688.             ,(custom-face-lookup "SpringGreen" nil nil t nil nil))
  689.            ((zerop unread) .
  690.             ,(custom-face-lookup "SteelBlue" nil nil t nil nil))
  691.            (t .
  692.             ,(custom-face-lookup "SkyBlue" nil nil t nil nil))
  693.            ))
  694.  
  695.    Variables that are dynamically bound when the forms are evaluated
  696. include:
  697.  
  698. `group'
  699.      The group name.
  700.  
  701. `unread'
  702.      The number of unread articles in the group.
  703.  
  704. `method'
  705.      The select method.
  706.  
  707. `mailp'
  708.      Whether the group is a mail group.
  709.  
  710. `level'
  711.      The level of the group.
  712.  
  713. `score'
  714.      The score of the group.
  715.  
  716. `ticked'
  717.      The number of ticked articles in the group.
  718.  
  719. `topic'
  720.      When using the topic minor mode, this variable is bound to the
  721.      current topic being inserted.
  722.  
  723.    When the forms are `eval'ed, point is at the beginning of the line
  724. of the group in question, so you can use many of the normal Gnus
  725. functions for snarfing info on the group.
  726.  
  727.    `gnus-group-update-hook' is called when a group line is changed.  It
  728. will not be called when `gnus-visual' is `nil'.  This hook calls
  729. `gnus-group-highlight-line' by default.
  730.  
  731. 
  732. File: gnus,  Node: Group Maneuvering,  Next: Selecting a Group,  Prev: Group Buffer Format,  Up: The Group Buffer
  733.  
  734. Group Maneuvering
  735. =================
  736.  
  737.    All movement commands understand the numeric prefix and will behave
  738. as expected, hopefully.
  739.  
  740. `n'
  741.      Go to the next group that has unread articles
  742.      (`gnus-group-next-unread-group').
  743.  
  744. `p'
  745. `DEL'
  746.      Go to the previous group group that has unread articles
  747.      (`gnus-group-prev-unread-group').
  748.  
  749. `N'
  750.      Go to the next group (`gnus-group-next-group').
  751.  
  752. `P'
  753.      Go to the previous group (`gnus-group-prev-group').
  754.  
  755. `M-p'
  756.      Go to the next unread group on the same level (or lower)
  757.      (`gnus-group-next-unread-group-same-level').
  758.  
  759. `M-n'
  760.      Go to the previous unread group on the same level (or lower)
  761.      (`gnus-group-prev-unread-group-same-level').
  762.  
  763.    Three commands for jumping to groups:
  764.  
  765. `j'
  766.      Jump to a group (and make it visible if it isn't already)
  767.      (`gnus-group-jump-to-group').  Killed groups can be jumped to, just
  768.      like living groups.
  769.  
  770. `,'
  771.      Jump to the unread group with the lowest level
  772.      (`gnus-group-best-unread-group').
  773.  
  774. `.'
  775.      Jump to the first group with unread articles
  776.      (`gnus-group-first-unread-group').
  777.  
  778.    If `gnus-group-goto-unread' is `nil', all the movement commands will
  779. move to the next group, not the next unread group.  Even the commands
  780. that say they move to the next unread group.  The default is `t'.
  781.  
  782. 
  783. File: gnus,  Node: Selecting a Group,  Next: Subscription Commands,  Prev: Group Maneuvering,  Up: The Group Buffer
  784.  
  785. Selecting a Group
  786. =================
  787.  
  788. `SPACE'
  789.      Select the current group, switch to the summary buffer and display
  790.      the first unread article (`gnus-group-read-group').  If there are
  791.      no unread articles in the group, or if you give a non-numerical
  792.      prefix to this command, Gnus will offer to fetch all the old
  793.      articles in this group from the server.  If you give a numerical
  794.      prefix N, Gnus will fetch N number of articles.  If N is positive,
  795.      fetch the N newest articles, if N is negative, fetch the ABS(N)
  796.      oldest articles.
  797.  
  798. `RET'
  799.      Select the current group and switch to the summary buffer
  800.      (`gnus-group-select-group').  Takes the same arguments as
  801.      `gnus-group-read-group'--the only difference is that this command
  802.      does not display the first unread article automatically upon group
  803.      entry.
  804.  
  805. `M-RET'
  806.      This does the same as the command above, but tries to do it with
  807.      the minimum amount off fuzz (`gnus-group-quick-select-group').  No
  808.      scoring/killing will be performed, there will be no highlights and
  809.      no expunging.  This might be useful if you're in a real hurry and
  810.      have to enter some humongous group.
  811.  
  812. `M-SPACE'
  813.      This is yet one more command that does the same as the one above,
  814.      but this one does it without expunging and hiding dormants
  815.      (`gnus-group-visible-select-group').
  816.  
  817. `c'
  818.      Mark all unticked articles in this group as read
  819.      (`gnus-group-catchup-current').  `gnus-group-catchup-group-hook'
  820.      is when catching up a group from the group buffer.
  821.  
  822. `C'
  823.      Mark all articles in this group, even the ticked ones, as read
  824.      (`gnus-group-catchup-current-all').
  825.  
  826.    The `gnus-large-newsgroup' variable says what Gnus should consider
  827. to be a big group.  This is 200 by default.  If the group has more
  828. unread articles than this, Gnus will query the user before entering the
  829. group.  The user can then specify how many articles should be fetched
  830. from the server.  If the user specifies a negative number (`-n'), the
  831. `n' oldest articles will be fetched.  If it is positive, the `n'
  832. articles that have arrived most recently will be fetched.
  833.  
  834.    `gnus-auto-select-first' control whether any articles are selected
  835. automatically when entering a group.
  836.  
  837. `nil'
  838.      Don't select any articles when entering the group.  Just display
  839.      the full summary buffer.
  840.  
  841. `t'
  842.      Select the first unread article when entering the group.
  843.  
  844. `best'
  845.      Select the most high-scored article in the group when entering the
  846.      group.
  847.  
  848.    If you want to prevent automatic selection in some group (say, in a
  849. binary group with Huge articles) you can set this variable to `nil' in
  850. `gnus-select-group-hook', which is called when a group is selected.
  851.  
  852. 
  853. File: gnus,  Node: Subscription Commands,  Next: Group Levels,  Prev: Selecting a Group,  Up: The Group Buffer
  854.  
  855. Subscription Commands
  856. =====================
  857.  
  858. `S t'
  859. `u'
  860.      Toggle subscription to the current group
  861.      (`gnus-group-unsubscribe-current-group').
  862.  
  863. `S s'
  864. `U'
  865.      Prompt for a group to subscribe, and then subscribe it.  If it was
  866.      subscribed already, unsubscribe it instead
  867.      (`gnus-group-unsubscribe-group').
  868.  
  869. `S k'
  870. `C-k'
  871.      Kill the current group (`gnus-group-kill-group').
  872.  
  873. `S y'
  874. `C-y'
  875.      Yank the last killed group (`gnus-group-yank-group').
  876.  
  877. `C-x C-t'
  878.      Transpose two groups (`gnus-group-transpose-groups').  This isn't
  879.      really a subscription command, but you can use it instead of a
  880.      kill-and-yank sequence sometimes.
  881.  
  882. `S w'
  883. `C-w'
  884.      Kill all groups in the region (`gnus-group-kill-region').
  885.  
  886. `S z'
  887.      Kill all zombie groups (`gnus-group-kill-all-zombies').
  888.  
  889. `S C-k'
  890.      Kill all groups on a certain level (`gnus-group-kill-level').
  891.      These groups can't be yanked back after killing, so this command
  892.      should be used with some caution.  The only thing where this
  893.      command comes in really handy is when you have a `.newsrc' with
  894.      lots of unsubscribed groups that you want to get rid off.  `S C-k'
  895.      on level `7' will kill off all unsubscribed groups that do not
  896.      have message numbers in the `.newsrc' file.
  897.  
  898.    Also *note Group Levels::..
  899.  
  900. 
  901. File: gnus,  Node: Group Levels,  Next: Group Score,  Prev: Subscription Commands,  Up: The Group Buffer
  902.  
  903. Group Levels
  904. ============
  905.  
  906.    All groups have a level of "subscribedness".  For instance, if a
  907. group is on level 2, it is more subscribed than a group on level 5.  You
  908. can ask Gnus to just list groups on a given level or lower (*note
  909. Listing Groups::.), or to just check for new articles in groups on a
  910. given level or lower (*note Scanning New Messages::.).
  911.  
  912.    Remember:  The higher the level of the group, the less important it
  913. is.
  914.  
  915. `S l'
  916.      Set the level of the current group.  If a numeric prefix is given,
  917.      the next N groups will have their levels set.  The user will be
  918.      prompted for a level.
  919.  
  920.    Gnus considers groups on between levels 1 and
  921. `gnus-level-subscribed' (inclusive) (default 5) to be subscribed,
  922. `gnus-level-subscribed' (exclusive) and `gnus-level-unsubscribed'
  923. (inclusive) (default 7) to be unsubscribed, `gnus-level-zombie' to be
  924. zombies (walking dead) (default 8) and `gnus-level-killed' to be killed
  925. (default 9), completely dead.  Gnus treats subscribed and unsubscribed
  926. groups exactly the same, but zombie and killed groups have no
  927. information on what articles you have read, etc, stored.  This
  928. distinction between dead and living groups isn't done because it is
  929. nice or clever, it is done purely for reasons of efficiency.
  930.  
  931.    It is recommended that you keep all your mail groups (if any) on
  932. quite low levels (eg. 1 or 2).
  933.  
  934.    If you want to play with the level variables, you should show some
  935. care.  Set them once, and don't touch them ever again.  Better yet,
  936. don't touch them at all unless you know exactly what you're doing.
  937.  
  938.    Two closely related variables are `gnus-level-default-subscribed'
  939. (default 3) and `gnus-level-default-unsubscribed' (default 6), which
  940. are the levels that new groups will be put on if they are
  941. (un)subscribed.  These two variables should, of course, be inside the
  942. relevant legal ranges.
  943.  
  944.    If `gnus-keep-same-level' is non-`nil', some movement commands will
  945. only move to groups that are of the same level (or lower).  In
  946. particular, going from the last article in one group to the next group
  947. will go to the next group of the same level (or lower).  This might be
  948. handy if you want to read the most important groups before you read the
  949. rest.
  950.  
  951.    All groups with a level less than or equal to
  952. `gnus-group-default-list-level' will be listed in the group buffer by
  953. default.
  954.  
  955.    If `gnus-group-list-inactive-groups' is non-`nil', non-active groups
  956. will be listed along with the unread groups.  This variable is `t' by
  957. default.  If it is `nil', inactive groups won't be listed.
  958.  
  959.    If `gnus-group-use-permanent-levels' is non-`nil', once you give a
  960. level prefix to `g' or `l', all subsequent commands will use this level
  961. as the "work" level.
  962.  
  963.    Gnus will normally just activate groups that are on level
  964. `gnus-activate-level' or less.  If you don't want to activate
  965. unsubscribed groups, for instance, you might set this variable to `5'.
  966.  
  967. 
  968. File: gnus,  Node: Group Score,  Next: Marking Groups,  Prev: Group Levels,  Up: The Group Buffer
  969.  
  970. Group Score
  971. ===========
  972.  
  973.    You would normally keep important groups on high levels, but that
  974. scheme is somewhat restrictive.  Don't you wish you could have Gnus
  975. sort the group buffer according to how often you read groups, perhaps?
  976. Within reason?
  977.  
  978.    This is what "group score" is for.  You can assign a score to each
  979. group.  You can then sort the group buffer based on this score.
  980. Alternatively, you can sort on score and then level.  (Taken together,
  981. the level and the score is called the "rank" of the group.  A group
  982. that is on level 4 and has a score of 1 has a higher rank than a group
  983. on level 5 that has a score of 300.  (The level is the most significant
  984. part and the score is the least significant part.)
  985.  
  986.    If you want groups you read often to get higher scores than groups
  987. you read seldom you can add the `gnus-summary-bubble-group' function to
  988. the `gnus-summary-exit-hook' hook.  This will result (after sorting) in
  989. a bubbling sort of action.  If you want to see that in action after
  990. each summary exit, you can add `gnus-group-sort-groups-by-rank' or
  991. `gnus-group-sort-groups-by-score' to the same hook, but that will slow
  992. things down somewhat.
  993.  
  994. 
  995. File: gnus,  Node: Marking Groups,  Next: Foreign Groups,  Prev: Group Score,  Up: The Group Buffer
  996.  
  997. Marking Groups
  998. ==============
  999.  
  1000.    If you want to perform some command on several groups, and they
  1001. appear subsequently in the group buffer, you would normally just give a
  1002. numerical prefix to the command.  Most group commands will then do your
  1003. bidding on those groups.
  1004.  
  1005.    However, if the groups are not in sequential order, you can still
  1006. perform a command on several groups.  You simply mark the groups first
  1007. with the process mark and then execute the command.
  1008.  
  1009. `#'
  1010. `M m'
  1011.      Set the mark on the current group (`gnus-group-mark-group').
  1012.  
  1013. `M-#'
  1014. `M u'
  1015.      Remove the mark from the current group (`gnus-group-unmark-group').
  1016.  
  1017. `M U'
  1018.      Remove the mark from all groups (`gnus-group-unmark-all-groups').
  1019.  
  1020. `M w'
  1021.      Mark all groups between point and mark (`gnus-group-mark-region').
  1022.  
  1023. `M b'
  1024.      Mark all groups in the buffer (`gnus-group-mark-buffer').
  1025.  
  1026. `M r'
  1027.      Mark all groups that match some regular expression
  1028.      (`gnus-group-mark-regexp').
  1029.  
  1030.    Also *note Process/Prefix::..
  1031.  
  1032.    If you want to execute some command on all groups that have been
  1033. marked with the process mark, you can use the `M-&'
  1034. (`gnus-group-universal-argument') command.  It will prompt you for the
  1035. command to be executed.
  1036.  
  1037. 
  1038. File: gnus,  Node: Foreign Groups,  Next: Group Parameters,  Prev: Marking Groups,  Up: The Group Buffer
  1039.  
  1040. Foreign Groups
  1041. ==============
  1042.  
  1043.    Here are some group mode commands for making and editing general
  1044. foreign groups, as well as commands to ease the creation of a few
  1045. special-purpose groups:
  1046.  
  1047. `G m'
  1048.      Make a new group (`gnus-group-make-group').  Gnus will prompt you
  1049.      for a name, a method and possibly an "address".  For an easier way
  1050.      to subscribe to NNTP groups, *note Browse Foreign Server::..
  1051.  
  1052. `G r'
  1053.      Rename the current group to something else
  1054.      (`gnus-group-rename-group').  This is legal only on some groups -
  1055.      mail groups mostly.  This command might very well be quite slow on
  1056.      some backends.
  1057.  
  1058. `G e'
  1059.      Enter a buffer where you can edit the select method of the current
  1060.      group (`gnus-group-edit-group-method').
  1061.  
  1062. `G p'
  1063.      Enter a buffer where you can edit the group parameters
  1064.      (`gnus-group-edit-group-parameters').
  1065.  
  1066. `G E'
  1067.      Enter a buffer where you can edit the group info
  1068.      (`gnus-group-edit-group').
  1069.  
  1070. `G d'
  1071.      Make a directory group.  You will be prompted for a directory name
  1072.      (`gnus-group-make-directory-group').
  1073.  
  1074. `G h'
  1075.      Make the Gnus help group (`gnus-group-make-help-group').
  1076.  
  1077. `G a'
  1078.      Make a Gnus archive group (`gnus-group-make-archive-group').  By
  1079.      default a group pointing to the most recent articles will be
  1080.      created (`gnus-group-recent-archive-directory'), but given a
  1081.      prefix, a full group will be created from from
  1082.      `gnus-group-archive-directory'.
  1083.  
  1084. `G k'
  1085.      Make a kiboze group.  You will be prompted for a name, for a
  1086.      regexp to match groups to be "included" in the kiboze group, and a
  1087.      series of strings to match on headers
  1088.      (`gnus-group-make-kiboze-group').  *Note Kibozed Groups::
  1089.  
  1090. `G D'
  1091.      Read an arbitrary directory as if with were a newsgroup with the
  1092.      `nneething' backend (`gnus-group-enter-directory').
  1093.  
  1094. `G f'
  1095.      Make a group based on some file or other
  1096.      (`gnus-group-make-doc-group').  If you give a prefix to this
  1097.      command, you will be prompted for a file name and a file type.
  1098.      Currently supported types are `babyl', `mbox', `digest', `mmdf',
  1099.      `news', `rnews', `clari-briefs', and `forward'.  If you run this
  1100.      command without a prefix, Gnus will guess at the file type.
  1101.  
  1102. `G DEL'
  1103.      This function will delete the current group
  1104.      (`gnus-group-delete-group').  If given a prefix, this function will
  1105.      actually delete all the articles in the group, and forcibly remove
  1106.      the group itself from the face of the Earth.  Use a prefix only if
  1107.      you are absolutely sure of what you are doing.
  1108.  
  1109. `G V'
  1110.      Make a new, fresh, empty `nnvirtual' group
  1111.      (`gnus-group-make-empty-virtual').
  1112.  
  1113. `G v'
  1114.      Add the current group to an `nnvirtual' group
  1115.      (`gnus-group-add-to-virtual').  Uses the process/prefix convention.
  1116.  
  1117.    *Note Select Methods:: for more information on the various select
  1118. methods.
  1119.  
  1120.    If the `gnus-activate-foreign-newsgroups' is a positive number, Gnus
  1121. will check all foreign groups with this level or lower at startup.
  1122. This might take quite a while, especially if you subscribe to lots of
  1123. groups from different NNTP servers.
  1124.  
  1125. 
  1126. File: gnus,  Node: Group Parameters,  Next: Listing Groups,  Prev: Foreign Groups,  Up: The Group Buffer
  1127.  
  1128. Group Parameters
  1129. ================
  1130.  
  1131.    Gnus stores all information on a group in a list that is usually
  1132. known as the "group info".  This list has from three to six elements.
  1133. Here's an example info.
  1134.  
  1135.      ("nnml:mail.ding" 3 ((1 . 232) 244 (256 . 270)) ((tick 246 249))
  1136.                        (nnml "private") ((to-address . "ding@ifi.uio.no")))
  1137.  
  1138.    The first element is the "group name", as Gnus knows the group,
  1139. anyway.  The second element is the "subscription level", which normally
  1140. is a small integer.  The third element is a list of ranges of read
  1141. articles.  The fourth element is a list of lists of article marks of
  1142. various kinds.  The fifth element is the select method (or virtual
  1143. server, if you like).  The sixth element is a list of "group
  1144. parameters", which is what this section is about.
  1145.  
  1146.    Any of the last three elements may be missing if they are not
  1147. required.  In fact, the vast majority of groups will normally only have
  1148. the first three elements, which saves quite a lot of cons cells.
  1149.  
  1150.    The group parameters store information local to a particular group:
  1151.  
  1152. `to-address'
  1153.      If the group parameter list contains an element that looks like
  1154.      `(to-address .  "some@where.com")', that address will be used by
  1155.      the backend when doing followups and posts.  This is primarily
  1156.      useful in mail groups that represent closed mailing lists--mailing
  1157.      lists where it's expected that everybody that writes to the
  1158.      mailing list is subscribed to it.  Since using this parameter
  1159.      ensures that the mail only goes to the mailing list itself, it
  1160.      means that members won't receive two copies of your followups.
  1161.  
  1162.      Using `to-address' will actually work whether the group is foreign
  1163.      or not.  Let's say there's a group on the server that is called
  1164.      `fa.4ad-l'.  This is a real newsgroup, but the server has gotten
  1165.      the articles from a mail-to-news gateway.  Posting directly to this
  1166.      group is therefore impossible--you have to send mail to the mailing
  1167.      list address instead.
  1168.  
  1169. `to-list'
  1170.      If the group parameter list has an element that looks like
  1171.      `(to-list . "some@where.com")', that address will be used when
  1172.      doing a `a' in any group.  It is totally ignored when doing a
  1173.      followup--except that if it is present in a news group, you'll get
  1174.      mail group semantics when doing `f'.
  1175.  
  1176. `broken-reply-to'
  1177.      Elements like `(broken-reply-to . t)' signals that `Reply-To'
  1178.      headers in this group are to be ignored.  This can be useful if
  1179.      you're reading a mailing list group where the listserv has inserted
  1180.      `Reply-To' headers that point back to the listserv itself.  This is
  1181.      broken behavior.  So there!
  1182.  
  1183. `to-group'
  1184.      If the group parameter list contains an element like `(to-group .
  1185.      "some.group.name")', all posts will be sent to that group.
  1186.  
  1187. `auto-expire'
  1188.      If this symbol is present in the group parameter list, all
  1189.      articles that are read will be marked as expirable.  For an
  1190.      alternative approach, *note Expiring Mail::..
  1191.  
  1192. `total-expire'
  1193.      If this symbol is present, all read articles will be put through
  1194.      the expiry process, even if they are not marked as expirable.  Use
  1195.      with caution.
  1196.  
  1197. `expiry-wait'
  1198.      If the group parameter has an element that looks like `(expiry-wait
  1199.      . 10)', this value will override any `nnmail-expiry-wait' and
  1200.      `nnmail-expiry-wait-function' when expiring expirable messages.
  1201.      The value can either be a number of days (not necessarily an
  1202.      integer) or the symbols `never' or `immediate'.
  1203.  
  1204. `score-file'
  1205.      Elements that look like `(score-file . "file")' will make `file'
  1206.      into the current score file for the group in question.  This means
  1207.      that all score commands you issue will end up in that file.
  1208.  
  1209. `admin-address'
  1210.      When unsubscribing to a mailing list you should never send the
  1211.      unsubscription notice to the mailing list itself.  Instead, you'd
  1212.      send messages to the administrative address.  This parameter
  1213.      allows you to put the admin address somewhere convenient.
  1214.  
  1215. `comment'
  1216.      This parameter allows you to enter a arbitrary comment on the
  1217.      group.
  1218.  
  1219. `(VARIABLE FORM)'
  1220.      You can use the group parameters to set variables local to the
  1221.      group you are entering.  Say you want to turn threading off in
  1222.      `news.answers'.  You'd then put `(gnus-show-threads nil)' in the
  1223.      group parameters of that group.  `gnus-show-threads' will be made
  1224.      into a local variable in the summary buffer you enter, and the form
  1225.      `nil' will be `eval'ed there.
  1226.  
  1227.      This can also be used as a group-specific hook function, if you'd
  1228.      like.  If you want to hear a beep when you enter the group
  1229.      `alt.binaries.pictures.furniture', you could put something like
  1230.      `(dummy-variable (ding))' in the parameters of that group.
  1231.      `dummy-variable' will be set to the result of the `(ding)' form,
  1232.      but who cares?
  1233.  
  1234.    If you want to change the group info you can use the `G E' command
  1235. to enter a buffer where you can edit it.
  1236.  
  1237.    You usually don't want to edit the entire group info, so you'd be
  1238. better off using the `G p' command to just edit the group parameters.
  1239.  
  1240. 
  1241. File: gnus,  Node: Listing Groups,  Next: Sorting Groups,  Prev: Group Parameters,  Up: The Group Buffer
  1242.  
  1243. Listing Groups
  1244. ==============
  1245.  
  1246.    These commands all list various slices of the groups that are
  1247. available.
  1248.  
  1249. `l'
  1250. `A s'
  1251.      List all groups that have unread articles
  1252.      (`gnus-group-list-groups').  If the numeric prefix is used, this
  1253.      command will list only groups of level ARG and lower.  By default,
  1254.      it only lists groups of level five or lower (i.e., just subscribed
  1255.      groups).
  1256.  
  1257. `L'
  1258. `A u'
  1259.      List all groups, whether they have unread articles or not
  1260.      (`gnus-group-list-all-groups').  If the numeric prefix is used,
  1261.      this command will list only groups of level ARG and lower.  By
  1262.      default, it lists groups of level seven or lower (i.e., just
  1263.      subscribed and unsubscribed groups).
  1264.  
  1265. `A l'
  1266.      List all unread groups on a specific level
  1267.      (`gnus-group-list-level').  If given a prefix, also list the groups
  1268.      with no unread articles.
  1269.  
  1270. `A k'
  1271.      List all killed groups (`gnus-group-list-killed').  If given a
  1272.      prefix argument, really list all groups that are available, but
  1273.      aren't currently (un)subscribed.  This could entail reading the
  1274.      active file from the server.
  1275.  
  1276. `A z'
  1277.      List all zombie groups (`gnus-group-list-zombies').
  1278.  
  1279. `A m'
  1280.      List all subscribed groups with unread articles that match a regexp
  1281.      (`gnus-group-list-matching').
  1282.  
  1283. `A M'
  1284.      List groups that match a regexp (`gnus-group-list-all-matching').
  1285.  
  1286. `A A'
  1287.      List absolutely all groups that are in the active file(s) of the
  1288.      server(s) you are connected to (`gnus-group-list-active').  This
  1289.      might very well take quite a while.  It might actually be a better
  1290.      idea to do a `A m' to list all matching, and just give `.' as the
  1291.      thing to match on.
  1292.  
  1293. `A a'
  1294.      List all groups that have names that match a regexp
  1295.      (`gnus-group-apropos').
  1296.  
  1297. `A d'
  1298.      List all groups that have names or descriptions that match a regexp
  1299.      (`gnus-group-description-apropos').
  1300.  
  1301.    Groups that match the `gnus-permanently-visible-groups' regexp will
  1302. always be shown, whether they have unread articles or not.  You can also
  1303. add the `visible' element to the group parameters in question to get
  1304. the same effect.
  1305.  
  1306.    Groups that have just ticked articles in it are normally listed in
  1307. the group buffer.  If `gnus-list-groups-with-ticked-articles' is `nil',
  1308. these groups will be treated just like totally empty groups.  It is `t'
  1309. by default.
  1310.  
  1311.